﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace SharpSphinx.Frontend
{
   public class FloatData : IData  , ICloneable 
    {
       private float[] values;
       private int sampleRate;
       private long FirstSampleNumber;
       private long CollectTime;

      
       /// <summary>
       /// Constructs a Data object with the given values, sample rate, collect time, and first sample number.
       /// </summary>
       /// <param name="values">the data values</param>
       /// <param name="sampleRate">the sample rate of the data</param>
       /// <param name="collectTime">the time at which this data is collected</param>
       /// <param name="firstSampleNumber">the position of the first sample in the original data</param>
       public FloatData(float[] values, int sampleRate,
                     long collectTime, long firstSampleNumber)
       {
           this.values = values;
           this.sampleRate = sampleRate;
           this.CollectTime = collectTime;
           this.FirstSampleNumber = firstSampleNumber;
       }


       public float[] getValues()
       {
           return values;
       }

       public int getSampleRate()
       {
           return sampleRate;
       }


       public long getFirstSampleNumber()
       {
           return FirstSampleNumber;
       }

       public FloatData Clone()
       {
           FloatData data = (FloatData)base.MemberwiseClone();
           return data;
       }


       public static FloatData toFloatData(IData data)
       {
           FloatData convertData;

           if (data is FloatData)
               convertData = (FloatData)data; 
           else if (data is DoubleData)
                
       }

    }
}
